package com.hsgene.order.dto;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.hsgene.common.util.date.TimeJsonDeserializer;
import com.hsgene.logistics.dto.KuaiDi100DeatisInfo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 机构订单信息Dto
 *
 * @author wangbing
 * @version 1.0, 2018/8/3
 */
public class OrderSupplierDto implements Serializable {

    private static final long serialVersionUID = 5966120203838946394L;
    /**
     * 供应商订单编号
     */
    private String id;

    /**
     * 子订单id（order_mall_item_basic:id）
     */
    private String itemOrderId;

    /**
     * 供应商id
     */
    private Long supplierId;

    /**
     * 供应商商品编号
     */
    private String goodsOriginId;

    /**
     * 供应商商品快照编号
     */
    private String goodsOriginSnapshootId;

    /**
     * 商品名称
     */
    private String goodsOriginName;
    /**
     * 规格和包装
     */
    private String specification;
    /**
     * 数量
     */
    private Integer count;

    /**
     * 单价
     */
    private BigDecimal univalence;

    /**
     * 总价
     */
    private BigDecimal totalAmount;

    /**
     * 样本编号：当数量为多个时，样本也为多个
     */
    private String sampleNumbers;

    /**
     * 样本图片
     */
    private String sampleImages;
    /**
     * 检测机构
     */
    private String supplierName;
    /**
     * 检测信息-电子检测单
     */
    private String detectionImages;

    /**
     * 检测报告
     */
    private String detecionReport;

    /**
     * 检测时长
     */
    private Short detectionDuration;

    /**
     * 订单状态
     */
    private String status;
    /**
     * 订单状态说明
     */
    private String statusDesc;

    /**
     * 收货人姓名
     */
    private String consigneeName;

    /**
     * 收货人电话
     */
    private String consigneePhone;

    /**
     * 详细地址
     */
    private String address;

    /**
     * 样品寄送快递公司
     */
    private String sampleExpressageCompany;

    /**
     * 样品寄送快递单号
     */
    private String sampleExpressageNo;

    /**
     * 检测报告快递公司
     */
    private String reportExpressageCompany;

    /**
     * 检测报告快递单号
     */
    private String reportExpressageNo;

    /**
     * 发票类型
     */
    private String invoiceType;
    /**
     * 发票类型描述
     */
    private String invoiceTypeDesc;

    /**
     * 金额
     */
    private BigDecimal invoiceAmount;

    /**
     * 发票号码
     */
    private String invoiceNumber;

    /**
     * 创建时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date updateTime;
    /**
     * 快递100信息
     */
    private List<KuaiDi100DeatisInfo> kuaiDi100DeatisInfos;
    /**
     * 机构后台快递100
     */
    private List<KuaiDi100DeatisInfo> kuaiDi100DeatisInfosSupplie;

    public List<KuaiDi100DeatisInfo> getKuaiDi100DeatisInfosSupplie() {
        return kuaiDi100DeatisInfosSupplie;
    }

    public void setKuaiDi100DeatisInfosSupplie(List<KuaiDi100DeatisInfo> kuaiDi100DeatisInfosSupplie) {
        this.kuaiDi100DeatisInfosSupplie = kuaiDi100DeatisInfosSupplie;
    }

    public List<KuaiDi100DeatisInfo> getKuaiDi100DeatisInfos() {
        return kuaiDi100DeatisInfos;
    }

    public void setKuaiDi100DeatisInfos(List<KuaiDi100DeatisInfo> kuaiDi100DeatisInfos) {
        this.kuaiDi100DeatisInfos = kuaiDi100DeatisInfos;
    }

    public String getStatusDesc() {
        return statusDesc;
    }

    public void setStatusDesc(String statusDesc) {
        this.statusDesc = statusDesc;
    }

    public String getInvoiceTypeDesc() {
        return invoiceTypeDesc;
    }

    public void setInvoiceTypeDesc(String invoiceTypeDesc) {
        this.invoiceTypeDesc = invoiceTypeDesc;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getGoodsOriginName() {
        return goodsOriginName;
    }

    public void setGoodsOriginName(String goodsOriginName) {
        this.goodsOriginName = goodsOriginName;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getItemOrderId() {
        return itemOrderId;
    }

    public void setItemOrderId(String itemOrderId) {
        this.itemOrderId = itemOrderId;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public String getGoodsOriginId() {
        return goodsOriginId;
    }

    public void setGoodsOriginId(String goodsOriginId) {
        this.goodsOriginId = goodsOriginId;
    }

    public String getGoodsOriginSnapshootId() {
        return goodsOriginSnapshootId;
    }

    public void setGoodsOriginSnapshootId(String goodsOriginSnapshootId) {
        this.goodsOriginSnapshootId = goodsOriginSnapshootId;
    }

    public String getSpecification() {
        return specification;
    }

    public void setSpecification(String specification) {
        this.specification = specification;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public BigDecimal getUnivalence() {
        return univalence;
    }

    public void setUnivalence(BigDecimal univalence) {
        this.univalence = univalence;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public String getSampleNumbers() {
        return sampleNumbers;
    }

    public void setSampleNumbers(String sampleNumbers) {
        this.sampleNumbers = sampleNumbers;
    }

    public String getSampleImages() {
        return sampleImages;
    }

    public void setSampleImages(String sampleImages) {
        this.sampleImages = sampleImages;
    }

    public String getDetectionImages() {
        return detectionImages;
    }

    public void setDetectionImages(String detectionImages) {
        this.detectionImages = detectionImages;
    }

    public String getdetecionReport() {
        return detecionReport;
    }

    public void setdetecionReport(String detecionReport) {
        this.detecionReport = detecionReport;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getConsigneeName() {
        return consigneeName;
    }

    public void setConsigneeName(String consigneeName) {
        this.consigneeName = consigneeName;
    }

    public String getConsigneePhone() {
        return consigneePhone;
    }

    public void setConsigneePhone(String consigneePhone) {
        this.consigneePhone = consigneePhone;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getSampleExpressageCompany() {
        return sampleExpressageCompany;
    }

    public void setSampleExpressageCompany(String sampleExpressageCompany) {
        this.sampleExpressageCompany = sampleExpressageCompany;
    }

    public Short getDetectionDuration() {
        return detectionDuration;
    }

    public void setDetectionDuration(Short detectionDuration) {
        this.detectionDuration = detectionDuration;
    }

    public String getSampleExpressageNo() {
        return sampleExpressageNo;
    }

    public void setSampleExpressageNo(String sampleExpressageNo) {
        this.sampleExpressageNo = sampleExpressageNo;
    }

    public String getReportExpressageCompany() {
        return reportExpressageCompany;
    }

    public void setReportExpressageCompany(String reportExpressageCompany) {
        this.reportExpressageCompany = reportExpressageCompany;
    }

    public String getReportExpressageNo() {
        return reportExpressageNo;
    }

    public void setReportExpressageNo(String reportExpressageNo) {
        this.reportExpressageNo = reportExpressageNo;
    }

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }

    public BigDecimal getInvoiceAmount() {
        return invoiceAmount;
    }

    public void setInvoiceAmount(BigDecimal invoiceAmount) {
        this.invoiceAmount = invoiceAmount;
    }

    public String getInvoiceNumber() {
        return invoiceNumber;
    }

    public void setInvoiceNumber(String invoiceNumber) {
        this.invoiceNumber = invoiceNumber;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

}
